/*Copyright 2020-2021 T-Head Semiconductor Co., Ltd.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#************************************************************

######################################################
##########   MACRO DEFINE   
.macro MSTATUS_SUM IMM
  #write sum
  li    x9,0x40000
  csrc  mstatus,x9
 #csrr  x9,mstatus
  li    x10, \IMM
  slli  x10,x10,18
 # or    x9,x9,x10
  csrs  mstatus,x10
.endm

.macro MMU_EN
  #backup regs
  addi  x2, x2, -16
  sd    x9, 0(x2)
  sd    x10, 8(x2)

  #write MODE=8 to SATP
  csrr  x9,satp
  li    x10,0xfffffffffffffff
  and   x9,x9,x10
  li    x10,8
  slli  x10,x10,60
  or    x9,x9,x10
  csrw  satp, x9

  #restore regs
  ld    x10, 8(x2)
  ld    x9, 0(x2)
  addi  x2, x2, 16
.endm

.macro MMU_SATP_PPN PPN
  #backup regs
  addi  x2, x2, -16
  sd    x9,  0(x2)
  sd    x10, 8(x2)

  #write PPN
  csrr  x9, satp
  li    x10, 0xfffffffff0000000
  and   x9,x9,x10
  li    x10, \PPN
  or    x9,x9,x10
  csrw  satp,x9

  #restore regs
  ld    x10, 8(x2)
  ld    x9,  0(x2)
  addi  x2, x2, 8
.endm

.macro MMU_SATP_ASID ASID
  #backup regs
  addi  x2, x2, -16
  sd    x9,  0(x2)
  sd    x10, 8(x2)

  #write ASID
  csrr  x9, satp
  li    x10, 0xf0000fffffffffff
  and   x9,x9,x10
  li    x10, \ASID
  slli  x10,x10,44

  or    x9,x9,x10
  csrw  satp,x9

  #restore regs
  ld    x10, 8(x2)
  ld    x9,  0(x2)
  addi  x2, x2, 8
.endm



.macro MXSTATUS_MAEE IMM
  #write maee
  li    x9,0x200000
  csrc  mxstatus,x9
  csrr  x9,mxstatus
  li    x10, \IMM
  slli  x10,x10,21
  or    x9,x9,x10
  csrw  mxstatus,x9
.endm

.macro MMU_PTW_4K VPN, PPN, FLAG, THEADFLAG
  #backup regs
  addi  x2, x2, -88
  sd    x9, 0(x2)
  sd    x10, 8(x2)
  sd    x11, 16(x2)
  sd    x12, 24(x2)
  sd    x13, 32(x2)
  sd    x14, 40(x2)
  sd    x15, 48(x2)
  sd    x16, 56(x2)
  sd    x17, 64(x2)
  sd    x18, 72(x2)
  sd    x19, 80(x2)

  # get PPN from satp in x9
  csrr  x9, satp
  li    x10, 0xfffffffffff
  and   x9, x9, x10

  # get VPN2 in x10
  li    x10, \VPN
  li    x11, 0x7fc0000
  and   x10,x10,x11
  srli  x10, x10, 18

  # cfig first-level page
  # level-1 page, entry addr:{ppn,VPN2,3'b0} in x15
  slli  x14, x9, 12
  slli  x11, x10, 3
  add   x15, x14, x11
  # write pte into level-1 page
  # level-2 base addr in x12
  addi  x12, x10, 1
  add   x12, x12, x9
  slli  x14, x12, 10
  li    x13, 0xc1
  or    x13, x13, x14
  sd    x13, 0(x15)

  # cfig level-2 page
  # get VPN1 in x16
  li    x11, \VPN
  li    x13, 0x3fe00
  and   x16, x11, x13
  srli  x16, x16, 9
  # level-2 page, entry addr:{pte.ppn,VPN1,3'b0} in x17
  slli  x13, x12, 12
  slli  x17, x16, 3
  add   x17, x17, x13
  # write pte into level-2 page
  # level-3 base addr in x18: PPN+2+2^9+{vpn2,vpn1}
  li    x11, 0x200
  addi  x11, x11, 2
  add   x11, x11, x9
  li    x10, \VPN
  srli  x10, x10, 9
  add   x18, x11, x10
  slli  x19, x18, 10
  li    x13, 0xc1
  or    x19, x19, x13
  sd    x19, 0(x17)

  # cfig level-3 page
  # get VPN0 in x12
  li    x11, \VPN
  li    x12, 0x1ff
  and   x12, x12, x11
  # get level-3 page addr x17
  slli  x18, x18, 12
  slli  x12, x12, 3
  add   x17, x18, x12
  # write pte into level-3 page
  li    x11, \PPN
  li    x12, \THEADFLAG
  li    x13, \FLAG
  slli  x11, x11, 10
  slli  x12, x12, 59
  or    x11, x11, x12
  or    x11, x11, x13
  sd    x11, 0(x17)

  #restore regs
  ld    x9, 0(x2)
  ld    x10, 8(x2)
  ld    x11, 16(x2)
  ld    x12, 24(x2)
  ld    x13, 32(x2)
  ld    x14, 40(x2)
  ld    x15, 48(x2)
  ld    x16, 56(x2)
  ld    x17, 64(x2)
  ld    x18, 72(x2)
  ld    x19, 80(x2)
  addi  x2, x2, 88
  # fence
  fence
.endm

.macro MMU_MMODE_SMODE_S  SROUTINE
  #write sepc
  la x1,\SROUTINE
  csrw sepc,x1
  li x1,0x100
  csrrs x0,mstatus,x1
  sret
.endm

.macro MMODE_SMODE  SROUTINE
  #disable sie/mie
  li   x29, 0x2
  csrc mstatus,x29
  li   x29, 0x8
  csrc mstatus,x29
  #write mepc
  la x1,\SROUTINE
  csrw mepc,x1
  li x1,0x800
  csrrs x3,mstatus,x1
  li x1,0x1000
  csrrc x3,mstatus,x1
  mret
.endm

.text
.align 6
.global main
main:

######################################################
##########   Control regiter define   
      li x3,0x4
      csrs mhcr,x3
      li t0,0x8000
      csrs mxstatus,t0

# cfig satp
      sfence.vma x0,x0
      MMU_EN
      MMU_SATP_PPN  0x40
      MMU_SATP_ASID 0x1

# cfig PMP
# entry0: addr 0x0_0000_0000~0x2_ffff_ffff, r=1 w=1 x=1 l=0
# cfig pmpcfg0
     li   x1, 0x0f
     csrw pmpcfg0, x1

# cfig pmpaddr0
     li   x1, 0xc0000000
     csrw pmpaddr0, x1
     
     MSTATUS_SUM 1

      MXSTATUS_MAEE 1
      MMU_PTW_4K 0x0,0x0,0xff,0xf
      MMU_PTW_4K 0x1,0x1,0xff,0xf
      MMU_PTW_4K 0x2,0x2,0xff,0xf
      MMU_PTW_4K 0x3,0x3,0xff,0xf
      MMU_PTW_4K 0x4,0x4,0xff,0xf
      MMU_PTW_4K 0x5,0x5,0xff,0xf
      MMU_PTW_4K 0x6,0x6,0xff,0xf
      MMU_PTW_4K 0x7,0x7,0xff,0xf
      MMU_PTW_4K 0x8,0x8,0xff,0xf
      MMU_PTW_4K 0x9,0x9,0xff,0xf
      MMU_PTW_4K 0xa,0xa,0xff,0xf
      MMU_PTW_4K 0xb,0xb,0xff,0xf
      MMU_PTW_4K 0xc,0xc,0xff,0xf
      MMU_PTW_4K 0xd,0xd,0xff,0xf
      MMU_PTW_4K 0xe,0xe,0xff,0xf
      MMU_PTW_4K 0xf,0xf,0xff,0xf
      MMU_PTW_4K 0x10,0x10,0xff,0xf
      MMU_PTW_4K 0x11,0x11,0xff,0xf
      MMU_PTW_4K 0x12,0x12,0xff,0xf
      MMU_PTW_4K 0x13,0x13,0xff,0xf
      MMU_PTW_4K 0x14,0x14,0xff,0xf
      MMU_PTW_4K 0x15,0x15,0xff,0xf
      MMU_PTW_4K 0x16,0x16,0xff,0xf
      MMU_PTW_4K 0x17,0x17,0xff,0xf
      MMU_PTW_4K 0x18,0x18,0xff,0xf
      MMU_PTW_4K 0x19,0x19,0xff,0xf
      MMU_PTW_4K 0x1a,0x1a,0xff,0xf
      MMU_PTW_4K 0x1b,0x1b,0xff,0xf
      MMU_PTW_4K 0x1c,0x1c,0xff,0xf
      MMU_PTW_4K 0x1d,0x1d,0xff,0xf
      MMU_PTW_4K 0x1e,0x1e,0xff,0xf
      MMU_PTW_4K 0x1f,0x1f,0xff,0xf
      MMU_PTW_4K 0x100,0x100,0xef,0xf
      MMU_PTW_4K 0x101,0x101,0xef,0xf
      MMU_PTW_4K 0x102,0x102,0xef,0x7
      MMU_PTW_4K 0x103,0x103,0xef,0x7
      MMU_PTW_4K 0x104,0x104,0xef,0x17
      MMU_PTW_4K 0x105,0x105,0xef,0x17
      MMU_PTW_4K 0x106,0x106,0xef,0xd
      MMU_PTW_4K 0x107,0x107,0xef,0xd
      and x26,x9,x8      
      fence o,iorw      
      lhu x5,0x000000030(x22)      
      ld x5,0x000000038(x22)      
      lwu x5,0x00000003C(x22)      
      lwu x5,0x000000008(x22)      
      sd x4,0x000000038(x22)      
      sh x4,0x00000000E(x22)      
      sd x4,0x000000038(x22)      
      sh x4,0x00000001C(x22)      
      li x8, 0xffffffc0
######################################################
      MMODE_SMODE CPU0
.global CPU0
CPU0:
######################################################
#   address can be non-cacheable/strong order/cachable/shreable 
      li x22,0x00010604E      
      and x22,x22,x8
      dcache.civa x22      
     #sync.s      
      li x22,0x0001020BD      
      and x22,x22,x8
      li x4,0xAA22D819CDCF2E8A      
      lh x5,0x00000003E(x22)      
      li x22,0x00010015C      
      and x22,x22,x8
      li x4,0xB4F5D18ACFAF1531      
      ld x5,0x000000040(x22)      
      li x22,0x000104084      
      and x22,x22,x8
      li x4,0xF2ED3B17ACAB6C88      
      sb x4,0x000000026(x22)      
      li x22,0x00010419C      
      and x22,x22,x8
      li x4,0xDCC79DFE631CBC67      
      sh x4,0x00000002A(x22)      
      li x22,0x0001000C0      
      and x22,x22,x8
      li x4,0xB37B73E27D0C3DD1      
      dcache.civa x22      
      li x22,0x000102076      
      and x22,x22,x8
      li x4,0x9D83336F72A31D0E      
      sb x4,0x00000002D(x22)      
      li x22,0x00010000C      
      and x22,x22,x8
      li x4,0xD54EEC9496D77D33      
      sb x4,0x00000002E(x22)      
      li x22,0x0001061F2      
      and x22,x22,x8
      li x4,0x904298D6C13980E9      
      lb x5,0x00000003A(x22)      
      li x22,0x00010010F      
      and x22,x22,x8
      li x4,0x2A33098201C69D97      
      lw x5,0x000000034(x22)      
      li x22,0x0001041D9      
      and x22,x22,x8
      li x4,0x898BEB524FCE44C6      
      dcache.civa x22      
      li x22,0x00010016A      
      and x22,x22,x8
      li x4,0xD6F188CCBBA61FBF      
      sb x4,0x00000001B(x22)      
      li x22,0x0001020AF      
      and x22,x22,x8
      li x4,0x401702BA660AC540      
      ld x5,0x000000040(x22)      
      li x22,0x000106048      
      and x22,x22,x8
      li x4,0xB35DD799AC82EFFF      
      lbu x5,0x000000019(x22)      
      li x22,0x0001061F6      
      and x22,x22,x8
      li x4,0x4A53B9A9C1480A88      
      dcache.cva x22      
      li x22,0x00010402A      
      and x22,x22,x8
      li x4,0x5DB6B2A18FB1D1F3      
      dcache.cva x22      
      li x22,0x0001040C0      
      and x22,x22,x8
      li x4,0xE0EC4B9B70DAEAE0      
      sb x4,0x000000011(x22)      
      li x22,0x000106016      
      and x22,x22,x8
      li x4,0x8D0D9495790A20E1      
      sw x4,0x00000001C(x22)      
      li x22,0x0001061B3      
      and x22,x22,x8
      li x4,0xDBFEB4F7BC6DC238      
      lwu x5,0x000000048(x22)      
      li x22,0x0001041AD      
      and x22,x22,x8
      li x4,0x508282DD795A64F      
      sd x4,0x000000010(x22)      
      li x22,0x000102093      
      and x22,x22,x8
      li x4,0xE03F2A2E53AA6074      
      sw x4,0x000000034(x22)      
      li x22,0x00010011C      
      and x22,x22,x8
      li x4,0x57F21123902B0A12      
      lwu x5,0x000000020(x22)      
      li x22,0x0001000AF      
      and x22,x22,x8
      li x4,0x7C0BFCC3EF649ED7      
      sd x4,0x000000028(x22)      
      li x22,0x0001061DB      
      and x22,x22,x8
      li x4,0x76F7F078E548A641      
      lw x5,0x000000018(x22)      
      li x22,0x0001021BB      
      and x22,x22,x8
      li x4,0x3DFA74CB37939769      
      lbu x5,0x000000028(x22)      
      li x22,0x0001061F5      
      and x22,x22,x8
      li x4,0x6E01757F5341E10      
      sd x4,0x000000018(x22)      
      li x22,0x000104142      
      and x22,x22,x8
      li x4,0x2AA7B367B6A727D0      
      sb x4,0x00000003A(x22)      
      li x22,0x000104080      
      and x22,x22,x8
      li x4,0xA10F3C70F88B80DA      
      dcache.civa x22      
      li x22,0x00010416F      
      and x22,x22,x8
      li x4,0x82F966E96599404A      
      dcache.civa x22      
      li x22,0x0001061C3      
      and x22,x22,x8
      li x4,0x983FD369869567AE      
      sb x4,0x000000033(x22)      
      li x22,0x0001021CD      
      and x22,x22,x8
      li x4,0xAA1022B978F32BC0      
      lwu x5,0x00000000C(x22)      
      li x22,0x00010009B      
      and x22,x22,x8
      li x4,0xCB6086D5DECDB944      
      lbu x5,0x000000040(x22)      
      li x22,0x00010405C      
      and x22,x22,x8
      li x4,0x163E10063B75E98B      
      lw x5,0x000000030(x22)      
      li x22,0x0001041EF      
      and x22,x22,x8
      li x4,0x985F8274BBD8D6EA      
      lb x5,0x000000006(x22)      
      li x22,0x0001020B5      
      and x22,x22,x8
      li x4,0xFB47403184F5973D      
      sh x4,0x00000004C(x22)      
      li x22,0x0001041CE      
      and x22,x22,x8
      li x4,0x85F72F68ACE1CC19      
      sd x4,0x000000008(x22)      
      li x22,0x0001040ED      
      and x22,x22,x8
      li x4,0xB141C866E32DF1B2      
      sd x4,0x000000000(x22)      
      li x22,0x000106100      
      and x22,x22,x8
      li x4,0xDCA5BF0786D830F3      
      sh x4,0x000000050(x22)      
      li x22,0x0001001BA      
      and x22,x22,x8
      li x4,0x4A11DC7CBD069413      
      dcache.civa x22      
      li x22,0x000102135      
      and x22,x22,x8
      li x4,0xF67C83B1A12BE1AA      
      lw x5,0x000000014(x22)      
      li x22,0x0001060F3      
      and x22,x22,x8
      li x4,0x13EE47A0DA872F77      
      dcache.cva x22      
      li x22,0x00010404E      
      and x22,x22,x8
      li x4,0x6898FB0F5EFB6D89      
      lw x5,0x000000004(x22)      
      li x22,0x000100086      
      and x22,x22,x8
      li x4,0x3362B98A781EFC0C      
      dcache.civa x22      
      li x22,0x00010209D      
      and x22,x22,x8
      li x4,0xDFE9682CF4F97DCC      
      lbu x5,0x00000000A(x22)      
      li x22,0x000106000      
      and x22,x22,x8
      li x4,0x594DE2F5EFC5F7A2      
      dcache.cva x22      
      li x22,0x0001060C0      
      and x22,x22,x8
      li x4,0x18955573366D500A      
      dcache.cva x22      
      li x22,0x00010202F      
      and x22,x22,x8
      li x4,0xBFA60A18F3CB6BF      
      dcache.cva x22      
      li x22,0x00010604B      
      and x22,x22,x8
      li x4,0x834150F0279877DD      
      dcache.cva x22      
      li x22,0x0001060BB      
      and x22,x22,x8
      li x4,0xFFD69518E608C4D9      
      sw x4,0x000000020(x22)      
      li x22,0x0001040B0      
      and x22,x22,x8
      li x4,0xB302E19D48C32B3A      
      lwu x5,0x000000034(x22)      
      li x22,0x00010014C      
      and x22,x22,x8
      li x4,0x9BB27BEFE8B8A0FE      
      dcache.civa x22      
      li x22,0x000104166      
      and x22,x22,x8
      li x4,0xDA3517D041391FBE      
      sd x4,0x000000008(x22)      
      li x22,0x0001061C2      
      and x22,x22,x8
      li x4,0xFF16224DC7655B0E      
      sh x4,0x00000003A(x22)      
      li x22,0x000102130      
      and x22,x22,x8
      li x4,0xBFE8BE887D1E9A52      
      sh x4,0x000000034(x22)      
      li x22,0x000102000      
      and x22,x22,x8
      li x4,0xAE19D62AE7CA1E36      
      dcache.cva x22      
      li x22,0x00010612A      
      and x22,x22,x8
      li x4,0x846C17D5731DF837      
      dcache.cva x22      
      li x22,0x0001000EE      
      and x22,x22,x8
      li x4,0x30148B4E5828EA4A      
      lbu x5,0x000000004(x22)      
      li x22,0x0001040F1      
      and x22,x22,x8
      li x4,0x77CAD44299FD9149      
      dcache.civa x22      
      li x22,0x0001020C4      
      and x22,x22,x8
      li x4,0x6A688E27D5554829      
      dcache.cva x22      
      li x22,0x000100164      
      and x22,x22,x8
      li x4,0xA0E47D7CEC977BD1      
      sw x4,0x00000003C(x22)      
      li x22,0x0001040E0      
      and x22,x22,x8
      li x4,0x9F2A38C4D35C890D      
      sh x4,0x000000044(x22)      
      li x22,0x00010600F      
      and x22,x22,x8
      li x4,0x31BDBDE6A4426914      
      dcache.civa x22      
      li x22,0x00010619D      
      and x22,x22,x8
      li x4,0xCA7F21FE48567CBD      
      sh x4,0x000000014(x22)      
      li x22,0x000106081      
      and x22,x22,x8
      li x4,0xFE1766A462E4CA59      
      sw x4,0x000000024(x22)      
      li x22,0x0001021A9      
      and x22,x22,x8
      li x4,0x1A9B5C3E00E68E6F      
      sd x4,0x000000020(x22)      
      li x22,0x0001001CB      
      and x22,x22,x8
      li x4,0x2E27325FC325D8FC      
      ld x5,0x000000028(x22)      
      li x22,0x00010619A      
      and x22,x22,x8
      li x4,0xF6CD82B9CB696AF8      
      dcache.civa x22      
      li x22,0x0001000BE      
      and x22,x22,x8
      li x4,0x72584BEC03CF5109      
      sd x4,0x000000048(x22)      
      li x22,0x0001060D0      
      and x22,x22,x8
      li x4,0xFE4BBD50D8E7664D      
      sd x4,0x000000038(x22)      
      li x22,0x0001040C0      
      and x22,x22,x8
      li x4,0xE2E556D296D545EF      
      lb x5,0x000000042(x22)      
      li x22,0x00010210D      
      and x22,x22,x8
      li x4,0x9613E6A4B5F07A24      
      sd x4,0x000000040(x22)      
      li x22,0x000104200      
      and x22,x22,x8
      li x4,0x459616F07EB9B1D9      
      dcache.cva x22      
      li x22,0x00010403D      
      and x22,x22,x8
      li x4,0xC252A4BF72C90868      
      lwu x5,0x000000000(x22)      
      li x22,0x000106124      
      and x22,x22,x8
      li x4,0xDCCF30CD4261E608      
      dcache.cva x22      
      li x22,0x00010418B      
      and x22,x22,x8
      li x4,0x89C19835783061E0      
      lb x5,0x000000047(x22)      
      li x22,0x0001040A6      
      and x22,x22,x8
      li x4,0xAD1E48EC8337E8C4      
      lwu x5,0x000000030(x22)      
      li x22,0x00010608E      
      and x22,x22,x8
      li x4,0x11B3C880A479863F      
      dcache.civa x22      
      li x22,0x000106102      
      and x22,x22,x8
      li x4,0x8FB60E30514228B3      
      dcache.cva x22      
      li x22,0x000102160      
      and x22,x22,x8
      li x4,0x931263798DDC60A9      
      sb x4,0x000000006(x22)      
      li x22,0x000102004      
      and x22,x22,x8
      li x4,0x279A755FF6DD364      
      lbu x5,0x00000003E(x22)      
      li x22,0x00010015E      
      and x22,x22,x8
      li x4,0xE968EC56A7DA3435      
      ld x5,0x000000040(x22)      
      li x22,0x000104153      
      and x22,x22,x8
      li x4,0x71AC9CA3534BBA8C      
      dcache.civa x22      
      li x22,0x00010006E      
      and x22,x22,x8
      li x4,0xF240E9989B642462      
      sd x4,0x000000020(x22)      
      li x22,0x000102062      
      and x22,x22,x8
      li x4,0x4292271B343890CB      
      dcache.civa x22      
      li x22,0x0001041FE      
      and x22,x22,x8
      li x4,0x887D8D44FB546DCE      
      lw x5,0x000000040(x22)      
      li x22,0x0001040EF      
      and x22,x22,x8
      li x4,0xF835DC5A09513224      
      dcache.civa x22      
      li x22,0x000100056      
      and x22,x22,x8
      li x4,0x1440FBEB00FAD65F      
      sw x4,0x000000004(x22)      
      li x22,0x00010016D      
      and x22,x22,x8
      li x4,0x59086EA32514FBD0      
      dcache.civa x22      
      li x22,0x000104183      
      and x22,x22,x8
      li x4,0x4DBF6C17A0F58E3C      
      dcache.cva x22      
      li x22,0x00010200F      
      and x22,x22,x8
      li x4,0x19A69FB4B7836EE      
      lh x5,0x00000004C(x22)      
      li x22,0x000102150      
      and x22,x22,x8
      li x4,0xE925A9F4FDA9687F      
      sb x4,0x000000014(x22)      
      li x22,0x000102076      
      and x22,x22,x8
      li x4,0xA19D6BC20656C310      
      lhu x5,0x000000014(x22)      
      li x22,0x0001020D9      
      and x22,x22,x8
      li x4,0x538C7072FAF314E0      
      lhu x5,0x000000028(x22)      
      li x22,0x00010606D      
      and x22,x22,x8
      li x4,0x4C90F945CECFBEFD      
      sd x4,0x000000010(x22)      
      li x22,0x0001060F0      
      and x22,x22,x8
      li x4,0xC3762A4A2411DE3E      
      sb x4,0x000000049(x22)      
      li x22,0x000102062      
      and x22,x22,x8
      li x4,0xB5447CF55F224C90      
      lh x5,0x000000044(x22)      
      li x22,0x0001040FC      
      and x22,x22,x8
      li x4,0xC559C19FC2BAFF1D      
      dcache.cva x22      
      li x22,0x00010017D      
      and x22,x22,x8
      li x4,0x6DABE6971E81A4A4      
      sb x4,0x000000007(x22)      
      li x22,0x000104044      
      and x22,x22,x8
      li x4,0xB662041CEF7458CC      
      sh x4,0x000000016(x22)      
      li x22,0x000100166      
      and x22,x22,x8
      li x4,0x1646E0434DE79C4      
      sb x4,0x00000003E(x22)      
      li x22,0x0001020C4      
      and x22,x22,x8
      li x4,0xF7CAC52DC9AB646      
      dcache.cva x22      
      li x22,0x0001060AF      
      and x22,x22,x8
      li x4,0xDFF1DFC55CE34226      
      sd x4,0x000000000(x22)      
      li x22,0x000102060      
      and x22,x22,x8
      li x4,0x205B4F6C82A8038D      
      dcache.civa x22      
      li x22,0x0001000DE      
      and x22,x22,x8
      li x4,0x9D6989DBD7C15FF3      
      dcache.cva x22      
      li x22,0x000104094      
      and x22,x22,x8
      li x4,0x917FAB094AA742DD      
      dcache.civa x22      
      li x22,0x0001001AF      
      and x22,x22,x8
      li x4,0x4D930B9E7133C27F      
      ld x5,0x000000008(x22)      
      li x22,0x00010402E      
      and x22,x22,x8
      li x4,0xB8E2170CB39D8C6D      
      dcache.civa x22      
      li x22,0x000104160      
      and x22,x22,x8
      li x4,0xA5F77D5B60EC075C      
      dcache.cva x22      
      li x22,0x000100168      
      and x22,x22,x8
      li x4,0xD9BEAD4130440B11      
      ld x5,0x000000028(x22)      
      li x22,0x00010006C      
      and x22,x22,x8
      li x4,0xA0F067B889200853      
      sw x4,0x000000000(x22)      
      li x22,0x000100142      
      and x22,x22,x8
      li x4,0x2B75200DAAC1852E      
      sw x4,0x000000014(x22)      
      li x22,0x0001021E8      
      and x22,x22,x8
      li x4,0x153A4C700EBE8C18      
      sd x4,0x000000008(x22)      
      li x22,0x0001061E6      
      and x22,x22,x8
      li x4,0x5ABDF2EFF2EBFFC      
      lhu x5,0x00000004C(x22)      
      li x22,0x000102199      
      and x22,x22,x8
      li x4,0x20DFE70FF45EB336      
      lwu x5,0x000000014(x22)      
      li x22,0x0001040B4      
      and x22,x22,x8
      li x4,0x7CD5650E82DA056B      
      lhu x5,0x00000004E(x22)      
      li x22,0x00010400F      
      and x22,x22,x8
      li x4,0xE2BE1A459E14BD5E      
      sh x4,0x000000018(x22)      
      li x22,0x0001041E2      
      and x22,x22,x8
      li x4,0xAE6F69F4C143F42D      
      lwu x5,0x000000024(x22)      
      li x22,0x00010618F      
      and x22,x22,x8
      li x4,0x432BD0C49A78477D      
      sw x4,0x000000008(x22)      
      li x22,0x0001001DA      
      and x22,x22,x8
      li x4,0xB4B1F759CCAF2458      
      sb x4,0x000000036(x22)      
      li x22,0x000100094      
      and x22,x22,x8
      li x4,0x5AD7EF13430DF0BF      
      dcache.civa x22      
      li x22,0x0001060C9      
      and x22,x22,x8
      li x4,0xD86260911B4A6CA3      
      dcache.cva x22      
      li x22,0x0001060BC      
      and x22,x22,x8
      li x4,0x5D2F0A989518F888      
      lbu x5,0x00000004F(x22)      
      li x22,0x00010011A      
      and x22,x22,x8
      li x4,0x4653C3FEA903156F      
      lhu x5,0x000000014(x22)      
      li x22,0x000100156      
      and x22,x22,x8
      li x4,0xC4A4E0415411C968      
      sb x4,0x00000002F(x22)      
      li x22,0x00010614F      
      and x22,x22,x8
      li x4,0x554E5607D156047F      
      dcache.civa x22      
      li x22,0x00010400C      
      and x22,x22,x8
      li x4,0x2D1223C212AF0FC8      
      sd x4,0x000000018(x22)      
      li x22,0x0001041C6      
      and x22,x22,x8
      li x4,0x2549AD682F37E551      
      sb x4,0x00000003B(x22)      
      li x22,0x0001021AB      
      and x22,x22,x8
      li x4,0x58172B7C6C392DEA      
      lbu x5,0x000000012(x22)      
      li x22,0x000106101      
      and x22,x22,x8
      li x4,0xD0AAF519A698476      
      lw x5,0x000000048(x22)      
      li x22,0x0001060D5      
      and x22,x22,x8
      li x4,0xCD2926D4D2EC84C3      
      dcache.cva x22      
      li x22,0x0001020AC      
      and x22,x22,x8
      li x4,0x802C924E3347C3FA      
      sh x4,0x000000048(x22)      
      li x22,0x0001041BD      
      and x22,x22,x8
      li x4,0x4FF51C1962456C5B      
      sh x4,0x000000026(x22)      
      li x22,0x00010007C      
      and x22,x22,x8
      li x4,0x71D9C78B3CC48CDB      
      sh x4,0x00000003C(x22)      
      li x22,0x0001001C2      
      and x22,x22,x8
      li x4,0x31F949144BE30B76      
      sw x4,0x000000038(x22)      
      li x22,0x000100075      
      and x22,x22,x8
      li x4,0x20C426AF4435AFA4      
      lb x5,0x00000002D(x22)      
      li x22,0x000106185      
      and x22,x22,x8
      li x4,0x97B8826611F51B2A      
      lb x5,0x00000002F(x22)      
      li x22,0x0001061FA      
      and x22,x22,x8
      li x4,0xFCD080DA37D9914F      
      sb x4,0x00000001A(x22)      
      li x22,0x0001060EA      
      and x22,x22,x8
      li x4,0xEA2FA5133CB3B73B      
      sd x4,0x000000028(x22)      
      li x22,0x00010208A      
      and x22,x22,x8
      li x4,0xE27FCC5BE76AFE94      
      dcache.civa x22      
      li x22,0x000106128      
      and x22,x22,x8
      li x4,0xB0A19A055EB4B0F0      
      lbu x5,0x000000013(x22)      
      li x22,0x0001041CC      
      and x22,x22,x8
      li x4,0x67022BFEAADD11F2      
      dcache.civa x22      
      li x22,0x00010207F      
      and x22,x22,x8
      li x4,0x428118AE8686A51      
      dcache.civa x22      
      li x22,0x00010615E      
      and x22,x22,x8
      li x4,0x503A6D89972E4CAD      
      ld x5,0x000000010(x22)      
      li x22,0x00010216C      
      and x22,x22,x8
      li x4,0x440C94424938FBCE      
      dcache.cva x22      
      li x22,0x00010218D      
      and x22,x22,x8
      li x4,0x8C4F4EC192E3718C      
      dcache.cva x22      
      li x22,0x000102104      
      and x22,x22,x8
      li x4,0xA30C97FB88EAE273      
      dcache.civa x22      
      li x22,0x0001001F8      
      and x22,x22,x8
      li x4,0x5371E9EF84FAFD55      
      dcache.civa x22      
      li x22,0x0001060C5      
      and x22,x22,x8
      li x4,0xC3FB120785C714A      
      dcache.civa x22      
      li x22,0x000104044      
      and x22,x22,x8
      li x4,0x6A9C47C97A0AAE8A      
      sw x4,0x000000000(x22)      
      li x22,0x0001061BA      
      and x22,x22,x8
      li x4,0x86D5B0F8C911B999      
      dcache.civa x22      
      li x22,0x00010411D      
      and x22,x22,x8
      li x4,0x3BC6815AED4649A4      
      sh x4,0x00000000A(x22)      
      li x22,0x000100163      
      and x22,x22,x8
      li x4,0x72F5738D665C72A2      
      sw x4,0x000000048(x22)      
      li x22,0x000106113      
      and x22,x22,x8
      li x4,0x79DF676FBD4F80E4      
      sb x4,0x000000007(x22)      
      li x22,0x00010600C      
      and x22,x22,x8
      li x4,0xC30B491A0FE623A9      
      sd x4,0x000000038(x22)      
      li x22,0x0001040BD      
      and x22,x22,x8
      li x4,0xADD97CE8EA1C911A      
      sd x4,0x000000038(x22)      
      li x22,0x00010004D      
      and x22,x22,x8
      li x4,0x77710947DA6E2E91      
      lwu x5,0x000000018(x22)      
      li x22,0x0001060F3      
      and x22,x22,x8
      li x4,0x78E115937DC57E6A      
      sb x4,0x00000000A(x22)      
      li x22,0x00010400F      
      and x22,x22,x8
      li x4,0x9EF62B912E89B9AA      
      sw x4,0x000000020(x22)      
      li x22,0x000102122      
      and x22,x22,x8
      li x4,0x60CB0BB768BD6731      
      ld x5,0x000000020(x22)      
      li x22,0x000104035      
      and x22,x22,x8
      li x4,0xF15411B65D052869      
      sw x4,0x000000024(x22)      
      li x22,0x0001040D8      
      and x22,x22,x8
      li x4,0x34A6D658EF63E03D      
      sw x4,0x000000040(x22)      
      li x22,0x0001060DF      
      and x22,x22,x8
      li x4,0xAD10E0A7883A352C      
      sh x4,0x000000004(x22)      
      li x22,0x0001001E5      
      and x22,x22,x8
      li x4,0xF88E1C4785D8DF17      
      lbu x5,0x000000030(x22)      
      li x22,0x00010215A      
      and x22,x22,x8
      li x4,0x6D0C8285587D5C01      
      dcache.cva x22      
      li x22,0x000106017      
      and x22,x22,x8
      li x4,0xD3DA7D8D503342B8      
      sd x4,0x000000000(x22)      
      li x22,0x00010400A      
      and x22,x22,x8
      li x4,0x70C2DB58037A8B3B      
      sw x4,0x000000000(x22)      
      li x22,0x00010011E      
      and x22,x22,x8
      li x4,0x800F249DC77ED8CA      
      dcache.cva x22      
      li x22,0x000102089      
      and x22,x22,x8
      li x4,0x769F939B7EFA424E      
      lhu x5,0x000000026(x22)      
      li x22,0x000102170      
      and x22,x22,x8
      li x4,0x5218034902BF5FD0      
      sd x4,0x000000008(x22)      
      li x22,0x00010600A      
      and x22,x22,x8
      li x4,0x7C3423EF1C38D568      
      lhu x5,0x000000004(x22)      
      li x22,0x0001001DF      
      and x22,x22,x8
      li x4,0x595A4C3CD2FE91DE      
      dcache.civa x22      
      li x22,0x0001000CA      
      and x22,x22,x8
      li x4,0x929659F8F4324694      
      lw x5,0x000000014(x22)      
      li x22,0x00010400C      
      and x22,x22,x8
      li x4,0x18C10187DF6086BF      
      dcache.cva x22      
      li x22,0x0001000E8      
      and x22,x22,x8
      li x4,0x38A235F3E2C08FD9      
      sh x4,0x00000003E(x22)      
      li x22,0x0001020BF      
      and x22,x22,x8
      li x4,0x42EC870C1302B150      
      sh x4,0x00000003C(x22)      
      li x22,0x00010206C      
      and x22,x22,x8
      li x4,0x98A8DF0029B360AD      
      lhu x5,0x00000004A(x22)      
      li x22,0x000100094      
      and x22,x22,x8
      li x4,0x1E92CFEAE41B57EB      
      sd x4,0x000000030(x22)      
      li x22,0x0001000B9      
      and x22,x22,x8
      li x4,0xBDC5CF82061F4985      
      dcache.cva x22      
      li x22,0x00010009C      
      and x22,x22,x8
      li x4,0x85650BDCB85FC1B2      
      lwu x5,0x000000044(x22)      
      li x22,0x000100001      
      and x22,x22,x8
      li x4,0xB40D93486A68C3CE      
      dcache.cva x22      
      li x22,0x00010211A      
      and x22,x22,x8
      li x4,0xB8EEA40C8104DD84      
      sb x4,0x00000002D(x22)      
      li x22,0x000106022      
      and x22,x22,x8
      li x4,0x3017F2F6928BC2CA      
      dcache.civa x22      
      li x22,0x00010204F      
      and x22,x22,x8
      li x4,0x6CDC9FBCD77E9C86      
      sh x4,0x000000042(x22)      
      li x22,0x0001040F2      
      and x22,x22,x8
      li x4,0x6E96AC630D3ED9D      
      dcache.civa x22      
      li x22,0x0001041B9      
      and x22,x22,x8
      li x4,0xBBB9E83322D8B92C      
      sd x4,0x000000038(x22)      
      li x22,0x0001021AA      
      and x22,x22,x8
      li x4,0x3395E2BFDA1AFBBF      
      sb x4,0x000000041(x22)      
      li x22,0x0001041FF      
      and x22,x22,x8
      li x4,0x83A942F2C3BE28DA      
      dcache.civa x22      
      li x22,0x0001021FA      
      and x22,x22,x8
      li x4,0xE7303239912FDB3F      
      dcache.civa x22      
      li x22,0x00010016C      
      and x22,x22,x8
      li x4,0x28F72F7FF1326347      
      lbu x5,0x000000026(x22)      
      li x22,0x000106110      
      and x22,x22,x8
      li x4,0xBA95FD10F36DFCC2      
      dcache.cva x22      
      li x22,0x0001021DA      
      and x22,x22,x8
      li x4,0xEB20EEFAC035E9AC      
      sh x4,0x00000004C(x22)      
      li x22,0x0001000E4      
      and x22,x22,x8
      li x4,0xE93499AD8BDF961      
      sd x4,0x000000008(x22)      
      li x22,0x00010200B      
      and x22,x22,x8
      li x4,0x33A52F3DC5BEB551      
      ld x5,0x000000028(x22)      
      li x22,0x0001041F1      
      and x22,x22,x8
      li x4,0x2BF8346B1E58F47D      
      ld x5,0x000000018(x22)      
      li x22,0x000106166      
      and x22,x22,x8
      li x4,0x5A2E38FA3E537C87      
      lh x5,0x000000024(x22)      
      li x22,0x00010613D      
      and x22,x22,x8
      li x4,0xBC2FD60A7B27C036      
      dcache.cva x22      
      li x22,0x0001061EA      
      and x22,x22,x8
      li x4,0xA8562F3C3B182863      
      dcache.civa x22      
      li x22,0x000106067      
      and x22,x22,x8
      li x4,0x9CFB3B5339D022B9      
      lhu x5,0x000000012(x22)      
      li x22,0x0001000EF      
      and x22,x22,x8
      li x4,0xB59177E003C4BB6A      
      sw x4,0x000000048(x22)      
      li x22,0x000102102      
      and x22,x22,x8
      li x4,0x7E9B77B45C21A853      
      lwu x5,0x000000020(x22)      
      li x22,0x00010606D      
      and x22,x22,x8
      li x4,0x3E6C34C10502F560      
      sh x4,0x000000030(x22)      
      li x22,0x0001020A8      
      and x22,x22,x8
      li x4,0x4ADA2D676C169D22      
      sd x4,0x000000038(x22)      
      li x22,0x0001000C0      
      and x22,x22,x8
      li x4,0x244094FE5DDFD30A      
      dcache.cva x22      
      li x22,0x000102128      
      and x22,x22,x8
      li x4,0x86208B8CA7B51634      
      sb x4,0x000000000(x22)      
      li x22,0x0001041EB      
      and x22,x22,x8
      li x4,0x867D93F8B4CE47B4      
      sd x4,0x000000010(x22)      
      li x22,0x00010604A      
      and x22,x22,x8
      li x4,0x262A18B3A1EA6479      
      sw x4,0x000000018(x22)      
      li x22,0x00010219F      
      and x22,x22,x8
      li x4,0x37B0CEFC3FC16769      
      lb x5,0x000000034(x22)      
      li x22,0x0001021F7      
      and x22,x22,x8
      li x4,0x260B58DB2B422DF3      
      dcache.civa x22      
      li x22,0x00010601B      
      and x22,x22,x8
      li x4,0x49398AF6817EE30C      
      dcache.cva x22      
      li x22,0x0001061EC      
      and x22,x22,x8
      li x4,0x9A1C4554916071D6      
      lbu x5,0x00000003B(x22)      
      li x22,0x000100102      
      and x22,x22,x8
      li x4,0xA2AEE20251ED51AA      
      dcache.civa x22      
      li x22,0x00010207A      
      and x22,x22,x8
      li x4,0xCEB2C2050161FF82      
      dcache.cva x22      
      li x22,0x0001021A7      
      and x22,x22,x8
      li x4,0x425DD2696C3C024E      
      dcache.cva x22      
      li x22,0x000102069      
      and x22,x22,x8
      li x4,0x6F8BFF8D80D04837      
      dcache.civa x22      
      li x22,0x000104143      
      and x22,x22,x8
      li x4,0x49CDB5F026AADA46      
      lwu x5,0x000000044(x22)      
      li x22,0x0001001C9      
      and x22,x22,x8
      li x4,0xA7BDAE13AD734C8E      
      dcache.cva x22      
      li x22,0x0001040AC      
      and x22,x22,x8
      li x4,0x2355158A3068D60A      
      sd x4,0x000000020(x22)      
      li x22,0x000106000      
      and x22,x22,x8
      li x4,0x9CE85E06667F1E3B      
      dcache.cva x22      
      li x22,0x000104144      
      and x22,x22,x8
      li x4,0xB488C96EE211721F      
      sh x4,0x000000002(x22)      
      li x22,0x000104054      
      and x22,x22,x8
      li x4,0x54A94BD5A6590FB0      
      sb x4,0x000000013(x22)      
      li x22,0x00010003D      
      and x22,x22,x8
      li x4,0x99C59AE66CE01553      
      ld x5,0x000000028(x22)      
      li x22,0x0001020AE      
      and x22,x22,x8
      li x4,0x6C307C49D49D0E8E      
      lwu x5,0x000000008(x22)      
      li x22,0x000102078      
      and x22,x22,x8
      li x4,0x78BEC09DED4B13D3      
      lb x5,0x00000001E(x22)      
      li x22,0x0001000ED      
      and x22,x22,x8
      li x4,0x4BD5B98BB4020D98      
      dcache.cva x22      
      li x22,0x00010618E      
      and x22,x22,x8
      li x4,0xDD7B4E554CD2D128      
      lb x5,0x000000020(x22)      
      li x22,0x0001041A1      
      and x22,x22,x8
      li x4,0xA5BA8C05F923F521      
      sw x4,0x000000004(x22)      
      li x22,0x000102132      
      and x22,x22,x8
      li x4,0x37C049C1595ACB81      
      sw x4,0x000000040(x22)      
      li x22,0x000104188      
      and x22,x22,x8
      li x4,0x8541DA4285A470A6      
      sd x4,0x000000048(x22)      
      li x22,0x00010608A      
      and x22,x22,x8
      li x4,0x7E7ECEDD1B012FB6      
      sd x4,0x000000018(x22)      
      li x22,0x00010214E      
      and x22,x22,x8
      li x4,0x706F961B9E0BCF53      
      dcache.cva x22      
      li x22,0x0001061AF      
      and x22,x22,x8
      li x4,0x68A550ECBFD5D725      
      lb x5,0x000000029(x22)      
      li x22,0x000100069      
      and x22,x22,x8
      li x4,0x5CA2419939561279      
      sh x4,0x000000010(x22)      
      li x22,0x00010600D      
      and x22,x22,x8
      li x4,0xDB55BDA8A5411BA0      
      dcache.cva x22      
      li x22,0x000104039      
      and x22,x22,x8
      li x4,0xCA2812313D1133EF      
      dcache.cva x22      
      li x22,0x000100042      
      and x22,x22,x8
      li x4,0xCE20F5D4F1A8179F      
      sb x4,0x000000037(x22)      
      li x22,0x00010603B      
      and x22,x22,x8
      li x4,0x420BF57DEA3C464F      
      lwu x5,0x000000030(x22)      
      li x22,0x000106137      
      and x22,x22,x8
      li x4,0xB87B430B783602C2      
      lhu x5,0x000000034(x22)      
      li x22,0x00010418C      
      and x22,x22,x8
      li x4,0xD80F1CD8781D1672      
      lhu x5,0x000000048(x22)      
      li x22,0x00010604A      
      and x22,x22,x8
      li x4,0x51407515947F61A0      
      dcache.cva x22      
      li x22,0x00010017A      
      and x22,x22,x8
      li x4,0x67E1DA1E5051DA4      
      dcache.cva x22      
      li x22,0x00010619F      
      and x22,x22,x8
      li x4,0x81C3A9D5D3F0C678      
      lhu x5,0x000000030(x22)      
      li x22,0x0001060F4      
      and x22,x22,x8
      li x4,0xC2CCE4D7F4CC3507      
      dcache.civa x22      
      li x22,0x00010204E      
      and x22,x22,x8
      li x4,0x7A8890BD5F74210C      
      dcache.cva x22      
      li x22,0x0001020BB      
      and x22,x22,x8
      li x4,0xE335AC74F355FEC      
      sw x4,0x000000028(x22)      
      li x22,0x0001061EC      
      and x22,x22,x8
      li x4,0x199A36FBDA84EF9F      
      lbu x5,0x000000040(x22)      
      li x22,0x0001061B2      
      and x22,x22,x8
      li x4,0x1BA03900C1951E69      
      dcache.civa x22      
      li x22,0x0001001F5      
      and x22,x22,x8
      li x4,0xA1DBC5B2B13573D      
      dcache.cva x22      
      li x22,0x0001061DB      
      and x22,x22,x8
      li x4,0x9847B4D914A50EC8      
      sh x4,0x000000014(x22)      
      li x22,0x000106098      
      and x22,x22,x8
      li x4,0x589D2E2A52048B73      
      lhu x5,0x000000018(x22)      
      li x22,0x0001040EB      
      and x22,x22,x8
      li x4,0x699921AF394CF986      
      lhu x5,0x00000004E(x22)      
      li x22,0x000102078      
      and x22,x22,x8
      li x4,0x8C05D6A70F1E397      
      sw x4,0x000000040(x22)      
      li x22,0x00010206F      
      and x22,x22,x8
      li x4,0x52069BACA00D310B      
      sb x4,0x000000029(x22)      
      li x22,0x000100154      
      and x22,x22,x8
      li x4,0xD8F6FA7E5925C9E2      
      sb x4,0x00000000D(x22)      
      li x22,0x0001021FF      
      and x22,x22,x8
      li x4,0x52B2B4741E7CA4B6      
      lb x5,0x000000036(x22)      
      li x22,0x00010017E      
      and x22,x22,x8
      li x4,0xD8C96BBC4CF5868F      
      lb x5,0x000000030(x22)      
      li x22,0x00010011D      
      and x22,x22,x8
      li x4,0xC4F4D65AD7457759      
      dcache.civa x22      
      li x22,0x0001001C8      
      and x22,x22,x8
      li x4,0xAB3F63F98E20BB11      
      lw x5,0x000000040(x22)      
      li x22,0x00010418A      
      and x22,x22,x8
      li x4,0xC2ADD4A3C82FCA96      
      sb x4,0x000000040(x22)      
      li x22,0x00010019F      
      and x22,x22,x8
      li x4,0xDBC98AAA90D5DD50      
      lb x5,0x00000002F(x22)      
      li x22,0x0001020E3      
      and x22,x22,x8
      li x4,0xFE2D65B12EBAE171      
      lhu x5,0x000000036(x22)      
      li x22,0x0001060BF      
      and x22,x22,x8
      li x4,0x379F6B9199335FFA      
      dcache.cva x22      
      li x22,0x00010019B      
      and x22,x22,x8
      li x4,0x3AF6E0BD28B07CF3      
      sw x4,0x000000038(x22)      
      li x22,0x0001040EF      
      and x22,x22,x8
      li x4,0xBCC82B163D42ED40      
      dcache.cva x22      
      li x22,0x0001061A9      
      and x22,x22,x8
      li x4,0x6F2C7C1296E94AA5      
      lwu x5,0x000000048(x22)      
      li x22,0x000100133      
      and x22,x22,x8
      li x4,0x73949015A2139293      
      dcache.civa x22      
      li x22,0x000100119      
      and x22,x22,x8
      li x4,0x9D9A99C0047C1B64      
      sb x4,0x000000038(x22)      
      li x22,0x0001020EC      
      and x22,x22,x8
      li x4,0xBF0EC2D816B820A4      
      lbu x5,0x000000015(x22)      
      li x22,0x000100021      
      and x22,x22,x8
      li x4,0xCAD4C90032C18910      
      sd x4,0x000000040(x22)      
      li x22,0x000104157      
      and x22,x22,x8
      li x4,0xF5887833644BFE88      
      dcache.cva x22      
      li x22,0x00010607C      
      and x22,x22,x8
      li x4,0xC0906637311F8CA6      
      sd x4,0x000000030(x22)      
      li x22,0x000100027      
      and x22,x22,x8
      li x4,0xCD4C5F1D3308EFC1      
      dcache.cva x22      
      li x22,0x00010614A      
      and x22,x22,x8
      li x4,0x695A92E8BDDC8DE1      
      sw x4,0x000000004(x22)      
      li x22,0x000106179      
      and x22,x22,x8
      li x4,0xFF66AAB0CF47B836      
      dcache.cva x22      
      li x22,0x0001061BA      
      and x22,x22,x8
      li x4,0x4FEF664D7D1F9C38      
      lw x5,0x000000018(x22)      
      li x22,0x0001040DB      
      and x22,x22,x8
      li x4,0x8A41D1CE0B5E08E6      
      lb x5,0x000000012(x22)      
      li x22,0x0001001F9      
      and x22,x22,x8
      li x4,0xA1C5DD954A3EF088      
      sw x4,0x000000030(x22)      
      li x22,0x000102170      
      and x22,x22,x8
      li x4,0xAEB448C1B300FFB4      
      sb x4,0x000000004(x22)      
      li x22,0x0001061F8      
      and x22,x22,x8
      li x4,0x670ABBADBD727303      
      ld x5,0x000000010(x22)      
      li x22,0x00010001A      
      and x22,x22,x8
      li x4,0x214EB09E40C2A61A      
      dcache.cva x22      
      li x22,0x0001021F7      
      and x22,x22,x8
      li x4,0xFE63C16EE74C2E46      
      dcache.civa x22      
      li x22,0x00010214A      
      and x22,x22,x8
      li x4,0x2FEB3B0D2DAD4FD7      
      sd x4,0x000000038(x22)      
      li x22,0x000106130      
      and x22,x22,x8
      li x4,0xE354BACCD4DFD6D7      
      sb x4,0x00000001A(x22)      
      li x22,0x0001020C5      
      and x22,x22,x8
      li x4,0x266B1A6D5519675D      
      lbu x5,0x00000004B(x22)      
      li x22,0x00010219C      
      and x22,x22,x8
      li x4,0xA95B30106F828102      
      sb x4,0x00000000B(x22)      
      li x22,0x000100045      
      and x22,x22,x8
      li x4,0xC0D3D81B31D06DF0      
      lbu x5,0x000000018(x22)      
      li x22,0x00010418A      
      and x22,x22,x8
      li x4,0xAFEB47AE7707DC99      
      ld x5,0x000000048(x22)      
      li x22,0x00010214D      
      and x22,x22,x8
      li x4,0x6EB6ADDB5BE2E4F8      
      dcache.civa x22      
      li x22,0x000100046      
      and x22,x22,x8
      li x4,0x9CCE6399050175EA      
      dcache.civa x22      
      li x22,0x00010418C      
      and x22,x22,x8
      li x4,0xA2C2ECD40D0A5375      
      lw x5,0x00000003C(x22)      
      li x22,0x000106098      
      and x22,x22,x8
      li x4,0x74AF6058B71EB0C1      
      sb x4,0x000000015(x22)      
      li x22,0x00010017F      
      and x22,x22,x8
      li x4,0x5CE786613B349C9F      
      ld x5,0x000000020(x22)      
      li x22,0x00010006A      
      and x22,x22,x8
      li x4,0x7C87FA5A0F413A21      
      dcache.civa x22      
      li x22,0x000102018      
      and x22,x22,x8
      li x4,0xFADD8C168E8703CB      
      sb x4,0x00000001B(x22)      
      li x22,0x0001060B4      
      and x22,x22,x8
      li x4,0x46BED8C11CACCAE0      
      lhu x5,0x000000044(x22)      
      li x22,0x000104038      
      and x22,x22,x8
      li x4,0x13F82D35DF963693      
      lbu x5,0x000000048(x22)      
      li x22,0x000102132      
      and x22,x22,x8
      li x4,0xB086DC73FDA054EA      
      lhu x5,0x00000004A(x22)      
      li x22,0x000104004      
      and x22,x22,x8
      li x4,0xF1A23D76E3B6D81C      
      dcache.civa x22      
      li x22,0x000104097      
      and x22,x22,x8
      li x4,0x838D6D17D2C5DB18      
      dcache.cva x22      
      li x22,0x00010602F      
      and x22,x22,x8
      li x4,0x118F74BBF5BDF53C      
      lw x5,0x00000002C(x22)      
      li x22,0x000102167      
      and x22,x22,x8
      li x4,0x1BC9B64442FE6C05      
      lw x5,0x000000010(x22)      
      li x22,0x000100008      
      and x22,x22,x8
      li x4,0x9617C8D90F551FCA      
      lb x5,0x00000000E(x22)      
      li x22,0x0001021EB      
      and x22,x22,x8
      li x4,0x80BE4239A105127B      
      dcache.civa x22      
      li x22,0x0001001A2      
      and x22,x22,x8
      li x4,0xECBD342130B2B4B6      
      dcache.cva x22      
      li x22,0x0001040F2      
      and x22,x22,x8
      li x4,0x3D4F9437D1053878      
      lhu x5,0x000000034(x22)      
      li x22,0x0001001BF      
      and x22,x22,x8
      li x4,0x2DEC623DFEE1FCF5      
      sb x4,0x000000000(x22)      
      li x22,0x0001060D3      
      and x22,x22,x8
      li x4,0x10580B8013385FD3      
      dcache.cva x22      
      li x22,0x000104020      
      and x22,x22,x8
      li x4,0x9F75EE22B7D570B3      
      lw x5,0x000000008(x22)      
      li x22,0x000106143      
      and x22,x22,x8
      li x4,0x671DB42E5DE336BB      
      dcache.civa x22      
      li x22,0x0001001B0      
      and x22,x22,x8
      li x4,0x989AF69B146C3786      
      sd x4,0x000000018(x22)      
      li x22,0x0001001B1      
      and x22,x22,x8
      li x4,0x8B8A61FB381CC2F3      
      sh x4,0x00000002E(x22)      
      li x22,0x000102177      
      and x22,x22,x8
      li x4,0x4E9AA15E2E17AE85      
      sh x4,0x00000002E(x22)      
      li x22,0x000100058      
      and x22,x22,x8
      li x4,0xF5C43257F9838239      
      sw x4,0x000000038(x22)      
      li x22,0x0001020FB      
      and x22,x22,x8
      li x4,0x6AD1485383CC1D3F      
      lh x5,0x000000002(x22)      
      li x22,0x000100199      
      and x22,x22,x8
      li x4,0xF5C940A707D0070C      
      sh x4,0x00000002A(x22)      
      li x22,0x000100190      
      and x22,x22,x8
      li x4,0x7874CDF60CBF5079      
      sb x4,0x00000001F(x22)      
      li x22,0x000104032      
      and x22,x22,x8
      li x4,0x59D894ED7784216E      
      lw x5,0x000000030(x22)      
      li x22,0x0001040E0      
      and x22,x22,x8
      li x4,0x511726BA08DF6C9E      
      dcache.cva x22      
      li x22,0x000102168      
      and x22,x22,x8
      li x4,0xC9CCB13256F29F17      
      lw x5,0x000000040(x22)      
      li x22,0x000102019      
      and x22,x22,x8
      li x4,0x7A6EF00CCA5F6F7A      
      dcache.civa x22      
      li x22,0x00010002A      
      and x22,x22,x8
      li x4,0x2F535F5B9D35A0D1      
      dcache.civa x22      
      li x22,0x00010417D      
      and x22,x22,x8
      li x4,0xB730ACBDDD6F5358      
      lbu x5,0x000000046(x22)      
      li x22,0x0001061EA      
      and x22,x22,x8
      li x4,0x32724B6EFF698FE2      
      lhu x5,0x000000004(x22)      
      li x22,0x000104119      
      and x22,x22,x8
      li x4,0xC449379871FB6620      
      lh x5,0x000000026(x22)      
      li x22,0x0001000ED      
      and x22,x22,x8
      li x4,0x92470D90BE66D4AD      
      lhu x5,0x00000004E(x22)      
      li x22,0x000102184      
      and x22,x22,x8
      li x4,0x5528C69A2467611B      
      sd x4,0x000000010(x22)      
      li x22,0x00010614C      
      and x22,x22,x8
      li x4,0x760ECDFC5503DD01      
      dcache.civa x22      
      li x22,0x000106151      
      and x22,x22,x8
      li x4,0x2866704B11975000      
      dcache.civa x22      
      li x22,0x000102094      
      and x22,x22,x8
      li x4,0x16B4B1226BBD9244      
      sb x4,0x00000003F(x22)      
      li x22,0x000104043      
      and x22,x22,x8
      li x4,0x5CE5C0338D906E07      
      lwu x5,0x000000024(x22)      
      li x22,0x00010609D      
      and x22,x22,x8
      li x4,0x91BC2167FF912784      
      sw x4,0x000000038(x22)      
      li x22,0x00010214F      
      and x22,x22,x8
      li x4,0xDDF9623485B4B94D      
      ld x5,0x000000038(x22)      
      li x22,0x000102069      
      and x22,x22,x8
      li x4,0x6521F6DB7BE3993A      
      sd x4,0x000000038(x22)      
      li x22,0x000102049      
      and x22,x22,x8
      li x4,0x98A164A3691C0076      
      lbu x5,0x000000001(x22)      
      li x22,0x000102152      
      and x22,x22,x8
      li x4,0x91EE5D3EB9949A85      
      sh x4,0x000000038(x22)      
      li x22,0x000104049      
      and x22,x22,x8
      li x4,0x6E839CB34CB83BC3      
      dcache.civa x22      
      li x22,0x0001060AE      
      and x22,x22,x8
      li x4,0x9DDAC4B23502F37B      
      lwu x5,0x000000010(x22)      
      li x22,0x0001041F7      
      and x22,x22,x8
      li x4,0xB092278F50EF65B2      
      dcache.cva x22      
      li x22,0x00010615D      
      and x22,x22,x8
      li x4,0x26269D571AFA1D63      
      lwu x5,0x000000004(x22)      
      li x22,0x0001020BD      
      and x22,x22,x8
      li x4,0x17988CADAD48AD53      
      lw x5,0x000000034(x22)      
      li x22,0x0001061A2      
      and x22,x22,x8
      li x4,0x4A729CF38B09DCA9      
      lw x5,0x000000048(x22)      
      li x22,0x00010007D      
      and x22,x22,x8
      li x4,0xB9129AA17586A98C      
      lbu x5,0x000000013(x22)      
      li x22,0x0001000CA      
      and x22,x22,x8
      li x4,0xDEA68AEEF946246      
      sb x4,0x000000040(x22)      
      li x22,0x000104072      
      and x22,x22,x8
      li x4,0xF6F43719C5F64F53      
      dcache.civa x22      
      li x22,0x0001020AB      
      and x22,x22,x8
      li x4,0x681A125AB3ABB4F6      
      sb x4,0x000000044(x22)      
      li x22,0x0001060E6      
      and x22,x22,x8
      li x4,0x597E82D60E85F6EF      
      dcache.cva x22      
      li x22,0x000104028      
      and x22,x22,x8
      li x4,0x5461FA9B68226FB      
      dcache.civa x22      
      li x22,0x00010211D      
      and x22,x22,x8
      li x4,0x6E64861240C4FBBC      
      dcache.cva x22      
      li x22,0x0001001A3      
      and x22,x22,x8
      li x4,0x4A4D972925E1018E      
      sb x4,0x000000035(x22)      
      li x22,0x0001040D3      
      and x22,x22,x8
      li x4,0xA3C353EAB824BEA2      
      ld x5,0x000000020(x22)      
      li x22,0x00010418C      
      and x22,x22,x8
      li x4,0xEB48DCE568838E29      
      lhu x5,0x00000001E(x22)      
      li x22,0x00010401E      
      and x22,x22,x8
      li x4,0x26444761B4E2E11      
      dcache.cva x22      
      li x22,0x000106072      
      and x22,x22,x8
      li x4,0x8F9DF1283DC3A333      
      lbu x5,0x00000004F(x22)      
      li x22,0x0001041BF      
      and x22,x22,x8
      li x4,0x2E75168AEAB9681E      
      sh x4,0x000000038(x22)      
      li x22,0x0001060B9      
      and x22,x22,x8
      li x4,0xD503527F7F0B0E1C      
      lhu x5,0x000000010(x22)      
      li x22,0x00010400E      
      and x22,x22,x8
      li x4,0x421A5547EB2DE40B      
      lhu x5,0x000000004(x22)      
      li x22,0x00010010E      
      and x22,x22,x8
      li x4,0x9BCEB8EF41DD5B41      
      sd x4,0x000000010(x22)      
      li x22,0x0001040AC      
      and x22,x22,x8
      li x4,0x46CFFBFCF9879AE5      
      dcache.civa x22      
      li x22,0x000106110      
      and x22,x22,x8
      li x4,0xE671EE0FFD337AB4      
      sw x4,0x00000000C(x22)      
      li x22,0x000102045      
      and x22,x22,x8
      li x4,0xCDFEA8FA7C6FD47A      
      lhu x5,0x00000000A(x22)      
      li x22,0x000104108      
      and x22,x22,x8
      li x4,0xEE3C71162E13166E      
      sd x4,0x000000008(x22)      
      li x22,0x00010417D      
      and x22,x22,x8
      li x4,0x334F21CEB8629F8      
      lwu x5,0x000000018(x22)      
      li x22,0x0001040FA      
      and x22,x22,x8
      li x4,0x5E9AF51DBC9375CB      
      ld x5,0x000000000(x22)      
      li x22,0x0001001EA      
      and x22,x22,x8
      li x4,0xD31945771FEAF1B2      
      sw x4,0x000000010(x22)      
      li x22,0x00010603A      
      and x22,x22,x8
      li x4,0x735AE874B29AA0A8      
      sw x4,0x000000030(x22)      
      li x22,0x00010018D      
      and x22,x22,x8
      li x4,0xCF445D43ABECF55C      
      sb x4,0x000000036(x22)      
      li x22,0x00010402B      
      and x22,x22,x8
      li x4,0xB2CC43ADA5062ED6      
      dcache.civa x22      
      li x22,0x0001020E9      
      and x22,x22,x8
      li x4,0xC7103CFA8855AECC      
      lbu x5,0x00000003C(x22)      
      li x22,0x0001000E6      
      and x22,x22,x8
      li x4,0x2AE33202D58C18B7      
      sw x4,0x000000038(x22)      
      li x22,0x000100095      
      and x22,x22,x8
      li x4,0xD9D365A0D79D0B65      
      sh x4,0x000000046(x22)      
      li x22,0x00010610B      
      and x22,x22,x8
      li x4,0x97F98ED9B2B9CF26      
      dcache.cva x22      
      li x22,0x00010200D      
      and x22,x22,x8
      li x4,0xC7343284366FEAF0      
      dcache.cva x22      
      li x22,0x00010206B      
      and x22,x22,x8
      li x4,0x99446C12FD32109C      
      lhu x5,0x000000046(x22)      
      li x22,0x0001000CB      
      and x22,x22,x8
      li x4,0xEEC7BAE9766C6D72      
      ld x5,0x000000000(x22)      
      li x22,0x00010015F      
      and x22,x22,x8
      li x4,0xF200A415149499DC      
      dcache.cva x22      
      li x22,0x0001040EC      
      and x22,x22,x8
      li x4,0x31DE23F181218809      
      dcache.civa x22      
      li x22,0x000102092      
      and x22,x22,x8
      li x4,0x3ACA8079E8CA2576      
      sh x4,0x00000000E(x22)      
      li x22,0x000104048      
      and x22,x22,x8
      li x4,0xEEE52813018E06EF      
      dcache.civa x22      
      li x22,0x000106118      
      and x22,x22,x8
      li x4,0x7A70094A75C05B05      
      dcache.cva x22      
      li x22,0x0001000CD      
      and x22,x22,x8
      li x4,0x84FAE080F94D60AF      
      dcache.cva x22      
      li x22,0x0001001FF      
      and x22,x22,x8
      li x4,0x4A437D4436B3976E      
      dcache.civa x22      
      li x22,0x0001020C9      
      and x22,x22,x8
      li x4,0xB1C87BC4DAFDF8C2      
      sw x4,0x000000014(x22)      
      li x22,0x00010609D      
      and x22,x22,x8
      li x4,0x7533EB80AF609864      
      lbu x5,0x00000000B(x22)      
      li x22,0x000106175      
      and x22,x22,x8
      li x4,0x528F8EE90334D3FA      
      dcache.civa x22      
      li x22,0x00010602D      
      and x22,x22,x8
      li x4,0x77BC814F11A34D9      
      lbu x5,0x00000000D(x22)      
      li x22,0x0001001DB      
      and x22,x22,x8
      li x4,0xC67839FC19271327      
      sb x4,0x000000044(x22)      
      li x22,0x0001001C0      
      and x22,x22,x8
      li x4,0x15278966DF046EAD      
      sd x4,0x000000008(x22)      
      li x22,0x000106191      
      and x22,x22,x8
      li x4,0xFFD80F6F0FF84CAD      
      lhu x5,0x00000003E(x22)      
      li x22,0x00010202A      
      and x22,x22,x8
      li x4,0xDE7D85C45D8FBFBE      
      lb x5,0x00000004E(x22)      
      li x22,0x0001001DD      
      and x22,x22,x8
      li x4,0x2F0F523E48D5213F      
      lb x5,0x000000023(x22)      
      li x22,0x0001041CC      
      and x22,x22,x8
      li x4,0x7489F697ACA1DCB2      
      dcache.civa x22      
      li x22,0x00010008C      
      and x22,x22,x8
      li x4,0x50F4C8586637128A      
      lhu x5,0x000000012(x22)      
      li x22,0x000104052      
      and x22,x22,x8
      li x4,0xE9E67EACA52D173A      
      sb x4,0x00000000A(x22)      
      li x22,0x00010010A      
      and x22,x22,x8
      li x4,0x71AC43494048904D      
      dcache.civa x22      
      li x22,0x0001001C6      
      and x22,x22,x8
      li x4,0xF68972901C571F2      
      dcache.cva x22      
      li x22,0x0001020BE      
      and x22,x22,x8
      li x4,0x2B2626E3DEA5D369      
      lhu x5,0x000000044(x22)      
      li x22,0x000106001      
      and x22,x22,x8
      li x4,0xD5106D7996BB8B25      
      lh x5,0x00000004E(x22)      
      li x22,0x000102139      
      and x22,x22,x8
      li x4,0x5F320FD45CA6E48E      
      ld x5,0x000000028(x22)      
      li x22,0x000102032      
      and x22,x22,x8
      li x4,0xEE9B183346DF00DB      
      lwu x5,0x000000038(x22)      
      li x22,0x00010011C      
      and x22,x22,x8
      li x4,0x73944BDC07E78A32      
      ld x5,0x000000008(x22)      
      li x22,0x00010206C      
      and x22,x22,x8
      li x4,0x904D59C37DEC3BBC      
      sb x4,0x00000004B(x22)      
      li x22,0x00010611D      
      and x22,x22,x8
      li x4,0xA89EB8A2DB5612CF      
      dcache.civa x22      
      li x22,0x00010216B      
      and x22,x22,x8
      li x4,0xCC4C695059B7B317      
      lhu x5,0x00000003E(x22)      
      li x22,0x0001021D2      
      and x22,x22,x8
      li x4,0xDD202702D50DBC18      
      dcache.civa x22      
      li x22,0x000102065      
      and x22,x22,x8
      li x4,0x19F33AC7F22461D1      
      lwu x5,0x000000028(x22)      
      li x22,0x000100198      
      and x22,x22,x8
      li x4,0x2DE66D54AF33068A      
      lw x5,0x00000004C(x22)      
      li x22,0x0001000AA      
      and x22,x22,x8
      li x4,0x7C08C72ACD272470      
      sw x4,0x000000020(x22)      
      li x22,0x000100115      
      and x22,x22,x8
      li x4,0x95859B2609772479      
      dcache.cva x22      
      li x22,0x000102002      
      and x22,x22,x8
      li x4,0xDC58739DD9430F15      
      lh x5,0x000000038(x22)      
      li x22,0x0001061BB      
      and x22,x22,x8
      li x4,0x176161E65EFEFB1A      
      lbu x5,0x00000003D(x22)      
      li x22,0x00010603C      
      and x22,x22,x8
      li x4,0x809DA26A8212AC9C      
      sw x4,0x000000018(x22)      
      li x22,0x0001001CA      
      and x22,x22,x8
      li x4,0x9EB01CBBE8AC0E41      
      sb x4,0x00000002B(x22)      
      li x22,0x0001021CE      
      and x22,x22,x8
      li x4,0x261E948FC905E118      
      sh x4,0x00000002A(x22)      
      li x22,0x00010215C      
      and x22,x22,x8
      li x4,0xC007C051D04E7477      
      sb x4,0x000000010(x22)      
      li x22,0x0001000CB      
      and x22,x22,x8
      li x4,0x896D145151CDD94C      
      sw x4,0x000000034(x22)      
      li x22,0x0001041D7      
      and x22,x22,x8
      li x4,0x32FB77B7C7A0F2D9      
      sw x4,0x00000000C(x22)      
      li x22,0x000100048      
      and x22,x22,x8
      li x4,0x1622CF3E29C2DD48      
      dcache.civa x22      
      li x22,0x00010408D      
      and x22,x22,x8
      li x4,0xF241E378269F1677      
      sw x4,0x00000000C(x22)      
      li x22,0x0001060AA      
      and x22,x22,x8
      li x4,0x924AF1621C650668      
      lbu x5,0x000000006(x22)      
      li x22,0x0001021D3      
      and x22,x22,x8
      li x4,0xD894A1E95A88A58D      
      lwu x5,0x000000030(x22)      
      li x22,0x000100198      
      and x22,x22,x8
      li x4,0xC29CEEF7D947FEC5      
      lw x5,0x00000001C(x22)      
      li x22,0x00010004B      
      and x22,x22,x8
      li x4,0x94051866E859090B      
      sw x4,0x00000001C(x22)      
      li x22,0x000102055      
      and x22,x22,x8
      li x4,0xF64443F511FE7C90      
      dcache.cva x22      
      li x22,0x000104189      
      and x22,x22,x8
      li x4,0x34A2B3C0BA15EB44      
      dcache.civa x22      
      li x22,0x00010019D      
      and x22,x22,x8
      li x4,0xCBC2B6B9B5B935D9      
      sd x4,0x000000048(x22)      
      li x22,0x00010013A      
      and x22,x22,x8
      li x4,0x8EB4AFB7D04B5504      
      dcache.civa x22      
      li x22,0x0001060F4      
      and x22,x22,x8
      li x4,0xEF599183B39353F7      
      sh x4,0x000000028(x22)      
      li x22,0x000102027      
      and x22,x22,x8
      li x4,0x8A49443A51ED6910      
      sb x4,0x000000022(x22)      
      li x22,0x0001060E1      
      and x22,x22,x8
      li x4,0x16FF184E73C062A4      
      sb x4,0x000000033(x22)      
      li x22,0x000100047      
      and x22,x22,x8
      li x4,0xB698E2378DDC78B4      
      lh x5,0x000000022(x22)      
      li x22,0x000100016      
      and x22,x22,x8
      li x4,0xF6309DEC077716A      
      sb x4,0x000000036(x22)      
      li x22,0x000104011      
      and x22,x22,x8
      li x4,0x554EFC4CAF8F5565      
      dcache.civa x22      
      li x22,0x000100188      
      and x22,x22,x8
      li x4,0xBA5C822F42AA5B0E      
      lb x5,0x00000002B(x22)      
      li x22,0x00010417D      
      and x22,x22,x8
      li x4,0xC31A8B8AD5794986      
      sw x4,0x000000008(x22)      
      li x22,0x000102128      
      and x22,x22,x8
      li x4,0x80B0E242CEDC3DC3      
      dcache.cva x22      
      li x22,0x000104066      
      and x22,x22,x8
      li x4,0xE0B8870BCE587334      
      dcache.civa x22      
      li x22,0x0001060B4      
      and x22,x22,x8
      li x4,0xD31AB6206CA13691      
      dcache.civa x22      
      li x22,0x0001060F6      
      and x22,x22,x8
      li x4,0xE8B395E4ADEA482D      
      lb x5,0x000000005(x22)      
      li x22,0x0001040FF      
      and x22,x22,x8
      li x4,0xBD667969EFD1F32E      
      dcache.civa x22      
      li x22,0x000106036      
      and x22,x22,x8
      li x4,0x61750B242602E84      
      lw x5,0x000000048(x22)      
      li x22,0x000104023      
      and x22,x22,x8
      li x4,0x6D86316FB21C1F76      
      sd x4,0x000000018(x22)      
      li x22,0x000104192      
      and x22,x22,x8
      li x4,0x438E83A50C075565      
      lw x5,0x000000038(x22)      
      li x22,0x000104039      
      and x22,x22,x8
      li x4,0x7AF945BEEC58011C      
      lw x5,0x000000028(x22)      
      li x22,0x000104170      
      and x22,x22,x8
      li x4,0x10E41A2BD3AF8B6F      
      dcache.cva x22      
      li x22,0x000106107      
      and x22,x22,x8
      li x4,0x654EB669A2E59D49      
      lw x5,0x00000001C(x22)      
      li x22,0x0001020AD      
      and x22,x22,x8
      li x4,0xE59A93B7F319FCDF      
      sb x4,0x000000005(x22)      
      li x22,0x00010603F      
      and x22,x22,x8
      li x4,0xEAC06885E4058A4D      
      dcache.cva x22      
      li x22,0x0001020E4      
      and x22,x22,x8
      li x4,0xB5C0932187E4480F      
      sw x4,0x000000034(x22)      
      li x22,0x0001060D7      
      and x22,x22,x8
      li x4,0x2A906F7968647D55      
      dcache.cva x22      
      li x22,0x000106133      
      and x22,x22,x8
      li x4,0xBF26C9A610E66AD2      
      lw x5,0x000000018(x22)      
      li x22,0x00010601C      
      and x22,x22,x8
      li x4,0x8F2CAABE804C70E3      
      sw x4,0x000000010(x22)      
      li x22,0x0001001EE      
      and x22,x22,x8
      li x4,0xA403843EFFBD652F      
      dcache.cva x22      
      li x22,0x0001020AC      
      and x22,x22,x8
      li x4,0xC74CDDB1A9467935      
      dcache.cva x22      
      li x22,0x00010008A      
      and x22,x22,x8
      li x4,0x5B838EA110CC0106      
      dcache.civa x22      
      li x22,0x000102176      
      and x22,x22,x8
      li x4,0x51924128B6AEB4E8      
      dcache.civa x22      
      li x22,0x0001041A8      
      and x22,x22,x8
      li x4,0x226360F9F7BF5DC5      
      sb x4,0x000000011(x22)      
      li x22,0x0001021B0      
      and x22,x22,x8
      li x4,0xA948814F0A472B80      
      dcache.cva x22      
      li x22,0x000104075      
      and x22,x22,x8
      li x4,0x495A6746506497A2      
      lw x5,0x000000038(x22)      
      li x22,0x00010400C      
      and x22,x22,x8
      li x4,0x2EFCFEB8F3810969      
      sw x4,0x000000018(x22)      
      li x22,0x0001001D3      
      and x22,x22,x8
      li x4,0x52A286B36273FD56      
      lb x5,0x00000000F(x22)      
      li x22,0x000102145      
      and x22,x22,x8
      li x4,0xB15CB979A24A4B03      
      sw x4,0x000000044(x22)      
      li x22,0x000104054      
      and x22,x22,x8
      li x4,0x47D05FBE961EC6E4      
      sd x4,0x000000030(x22)      
      li x22,0x000102093      
      and x22,x22,x8
      li x4,0xA6B5A08DFD9ABC80      
      lbu x5,0x000000026(x22)      
      li x22,0x000104132      
      and x22,x22,x8
      li x4,0x9D1BDE58BB8F02A1      
      sh x4,0x000000048(x22)      
      li x22,0x00010401A      
      and x22,x22,x8
      li x4,0x7B1C8AB1EF6375E5      
      sw x4,0x000000040(x22)      
      li x22,0x0001001A6      
      and x22,x22,x8
      li x4,0x68C0ECDC480BCB6E      
      dcache.cva x22      
      li x22,0x000100036      
      and x22,x22,x8
      li x4,0xB6B94C2B48068E35      
      dcache.cva x22      
      li x22,0x000100191      
      and x22,x22,x8
      li x4,0x3F20C27FA4A1DE9C      
      lhu x5,0x000000006(x22)      
      li x22,0x000100138      
      and x22,x22,x8
      li x4,0x3D7E5BFFCFDCCBF8      
      ld x5,0x000000020(x22)      
      li x22,0x0001021E9      
      and x22,x22,x8
      li x4,0x92D8B830CC4B0C46      
      lhu x5,0x00000003E(x22)      
      li x22,0x000104070      
      and x22,x22,x8
      li x4,0xCD324E92E28F679A      
      sw x4,0x000000050(x22)      
      li x22,0x0001060B1      
      and x22,x22,x8
      li x4,0xFB8E994D3F8BBFA1      
      lhu x5,0x000000044(x22)      
      li x22,0x000104057      
      and x22,x22,x8
      li x4,0x64C01BA2D5BE28D1      
      dcache.cva x22      
      li x22,0x000100062      
      and x22,x22,x8
      li x4,0x168FB176FCC5DA66      
      ld x5,0x000000008(x22)      
      li x22,0x0001040C4      
      and x22,x22,x8
      li x4,0xF7E858BA4316E195      
      lbu x5,0x000000023(x22)      
      li x22,0x00010205A      
      and x22,x22,x8
      li x4,0xF0F397BE8C6C195      
      sb x4,0x00000003E(x22)      
      li x22,0x00010201C      
      and x22,x22,x8
      li x4,0x946FD84594A2A323      
      lb x5,0x000000050(x22)      
      li x22,0x0001021A9      
      and x22,x22,x8
      li x4,0xF4853586CD2443FF      
      dcache.cva x22      
      li x22,0x000106045      
      and x22,x22,x8
      li x4,0xFCC9ACCCD8D00AE2      
      sw x4,0x00000004C(x22)      
      li x22,0x00010004B      
      and x22,x22,x8
      li x4,0xA16CF8DEBAFD55A      
      dcache.cva x22      
      li x22,0x0001061F5      
      and x22,x22,x8
      li x4,0xE762D0A7606AFE90      
      lwu x5,0x000000048(x22)      
      li x22,0x0001021A0      
      and x22,x22,x8
      li x4,0x20514A45A84DABC8      
      lh x5,0x00000004A(x22)      
      li x22,0x0001061C3      
      and x22,x22,x8
      li x4,0x65DB356E719E3530      
      dcache.cva x22      
      li x22,0x0001001C2      
      and x22,x22,x8
      li x4,0xB542FC91EF9BBECB      
      lbu x5,0x00000002B(x22)      
      li x22,0x00010001B      
      and x22,x22,x8
      li x4,0xC6E9DCFF2BF7957C      
      ld x5,0x000000048(x22)      
      li x22,0x0001061EA      
      and x22,x22,x8
      li x4,0x2D84C8C4838BE234      
      lwu x5,0x000000018(x22)      
      li x22,0x000104047      
      and x22,x22,x8
      li x4,0x8CB34991B8F09447      
      lhu x5,0x00000001C(x22)      
      li x22,0x0001020E7      
      and x22,x22,x8
      li x4,0x81A86A49F4A4CE4C      
      lbu x5,0x00000000F(x22)      
      li x22,0x000100058      
      and x22,x22,x8
      li x4,0x62D32616A40589DD      
      lwu x5,0x000000004(x22)      
      li x22,0x000106192      
      and x22,x22,x8
      li x4,0xEFB08F0FF5367455      
      sw x4,0x000000010(x22)      
      li x22,0x000100016      
      and x22,x22,x8
      li x4,0x94A51488F183AADA      
      lhu x5,0x00000001E(x22)      
      li x22,0x0001020E9      
      and x22,x22,x8
      li x4,0x2EF5995CF72CFC64      
      sw x4,0x00000004C(x22)      
      li x22,0x000100194      
      and x22,x22,x8
      li x4,0xAD9803986E26217      
      lb x5,0x00000002B(x22)      
      li x22,0x000102049      
      and x22,x22,x8
      li x4,0x47D363FFB66C39EE      
      lh x5,0x000000000(x22)      
      li x22,0x0001060B9      
      and x22,x22,x8
      li x4,0xC59F62C8158A11EB      
      dcache.cva x22      
      li x22,0x000106033      
      and x22,x22,x8
      li x4,0xCAF47C02A9DEB1D      
      dcache.civa x22      
      li x22,0x0001020AA      
      and x22,x22,x8
      li x4,0xC73A2EF966BEF679      
      sh x4,0x00000004C(x22)      
      li x22,0x0001040C4      
      and x22,x22,x8
      li x4,0xFB01ED75EFAFFB0A      
      lhu x5,0x00000004C(x22)      
      li x22,0x00010406D      
      and x22,x22,x8
      li x4,0x6AF39BC04A6056AF      
      ld x5,0x000000040(x22)      
      li x22,0x000102005      
      and x22,x22,x8
      li x4,0xCAB36BE24C33DB6E      
      sd x4,0x000000048(x22)      
      li x22,0x00010210B      
      and x22,x22,x8
      li x4,0x6F7973F59EA8C4CA      
      lb x5,0x000000030(x22)      
      li x22,0x000100127      
      and x22,x22,x8
      li x4,0x11AA53BDD6F23067      
      lb x5,0x000000007(x22)      
  la   x1, __exit
  jr   x1

